package com.daxia.wx.dto;

import java.util.LinkedHashMap;
import java.util.Map;

import com.alibaba.fastjson.JSONObject;

/**
 * 示例：
{{first.DATA}}
入驻商家：{{keyword1.DATA}}
审核：{{keyword2.DATA}}
{{remark.DATA}}


例如：
您已申请开通联盟商家
入驻商家：商家名称
审核：审核中
我们会在三至七个工作日内审核完毕，届时将发送模板消息通知。

您已成功开通联盟商家
入驻商家：商家名称
审核：审核通过
您可以在个人中心进入您的联盟商家管理菜单。
 */
public class WxMerchantApplyMessageTemplate extends WxMessageTemplate {
    private String title;
    private String merchant;
    private String status;
    private String remark;
    
    @Override
    public String getTemplateId() {
        return "quun_ePw-pRnM5uypimyhv2tTab9lhYgosrgiaL-meU";
    }

    @Override
    public String toJson() {
        JSONObject json = new JSONObject();
        json.put("touser", getOpenid());
        json.put("template_id", getTemplateId());
        json.put("url", "");

        JSONObject data = new JSONObject();

        JSONObject first = new JSONObject();
        first.put("value", getTitle());
        //first.put("color", color);
        data.put("first", first);
    
        Map<String, String> keywordMap = new LinkedHashMap<String, String>();
        keywordMap.put("keyword1", getMerchant());
        keywordMap.put("keyword2", getStatus());
        for (String key : keywordMap.keySet()) {
            JSONObject keyword = new JSONObject();
            keyword.put("value", keywordMap.get(key));
            data.put(key, keyword);
        }
        data.put("remark", getRemark());

        json.put("data", data);
        
        return json.toJSONString();
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getMerchant() {
        return merchant;
    }

    public void setMerchant(String merchant) {
        this.merchant = merchant;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }
    
}
